package com.adderis.soft.domain.dao;

import java.util.List;

import com.adderis.soft.domain.model.Solubilite;

/**
 * DAO for domain model class Solubilite.
 * 
 * @see com.adderis.soft.domain.model.Solubilite
 * @author Reda
 */
public interface ISolubiliteDao {

	/**
	 * Persist a Solubilite entity in the database
	 * 
	 * @param transientSolubilite
	 */
	public void persist(Solubilite transientSolubilite);

	/**
	 * Remove a persisted Solubilite from the database
	 * 
	 * @param persistentSolubilite
	 */
	public void remove(Solubilite persistentSolubilite);

	/**
	 * Remove a persisted Solubilite from the database
	 * 
	 * @param SolubiliteId
	 */
	public void remove(Integer SolubiliteId);

	/**
	 * Update a Solubilite in the database
	 * 
	 * @param detachedSolubilite
	 * @return merged Solubilite
	 */
	public Solubilite merge(Solubilite detachedSolubilite);

	/**
	 * Find a Solubilite by id
	 * 
	 * @param id
	 * @return the found Solubilite
	 */
	public Solubilite findById(Integer id);

	/**
	 * Find a list of Solubilite
	 * 
	 * @return the found Solubilite
	 */
	public List<Solubilite> findAll();

	/**
	 * Search Solubilites
	 * 
	 * @param searchString
	 * @return the found Solubilites
	 */
	public List<Solubilite> search(String searchString);

}
